/**
 * HashFunction.java of project FileHashVerification created on Date: 03-Oct-2011
 * veritas
 */
package fileHashVerification.file.hash;

/**
 * @author veritas
 *
 */
public interface HashFunction {
	
	/**
	 *	claculate checksum using MD5 algorithm
	 * @param filename
	 * @return byte[] arry of hash code
	 * @throws Exception
	 */
	public  byte[] createChecksum(String filename) throws Exception;
	
	/**
	 * claculate of hascode or checksum of given file 
	 * @param filename
	 * @return hashcode as String
	 * @throws Exception
	 */
	public String getSHA1Checksum(String filename) throws Exception;
	
	/**
	 * verify hashcode of (original file)  and (calculate hashcode of decryted fileName)
	 * @param fileName1 
	 * @param fileName2
	 * @return <code>true if hashcode matched otherwise false</code>
	 * @throws Exception
	 */
	public boolean verifyHashCode(String beforeHashCode , String afteraHashCode ) throws Exception;

}
